<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
</head>

<body>
    <script>
        // 代理设计模式
        //    有通告需要找到明星, 先找到经纪人,不能直接和明星直接接触，经纪人进行筛选后，然后在和明星进行沟通。
        //    经纪人的所作就是代理类的作用

        // 案例：
        //     码路同学要送花给小㺯

        // 没有使用代理
        function Flower(name) {
            this.name = name
        }
        var malu = (function () {
            var flower = new Flower('玫瑰花');
            return {
                name: '码路',
                sendFlower: function (target) {
                    // 送的目标
                    target.getFlower(flower, this)
                }
            }
        })()
        var xiaomei = {
            getFlower: function (flower, person) {
                console.log("小美收到了" + person.name + '的' + flower.name)
            }
        }
        malu.sendFlower(xiaomei)
    </script>
</body>

</html>